package com.powerbank.usercenter.service;

import com.powerbank.usercenter.dto.IdentityVerifyDTO;
import com.powerbank.usercenter.vo.IdentityInfoVO;

/**
 * 身份认证服务接口
 */
public interface IdentityService {

    /**
     * 提交实名认证
     */
    void submitVerify(Long userId, IdentityVerifyDTO verifyDTO);

    /**
     * 获取认证状态
     */
    IdentityInfoVO getIdentityStatus(Long userId);

    /**
     * 重新认证
     */
    void reVerify(Long userId, IdentityVerifyDTO verifyDTO);

    /**
     * 认证审核通过
     */
    void approveVerify(Long userId);

    /**
     * 认证审核拒绝
     */
    void rejectVerify(Long userId, String reason);

    /**
     * 实名认证验证（调用第三方接口）
     */
    boolean verifyIdentity(String realName, String idCardNumber);
}